package accion;
import java.io.*;
import java.io.PrintWriter;
import java.util.ArrayList;
import org.junit.Test;
import utilitario.Utilitario;
import bean.Cuota;

public class CuotasPendientesTest {

	@Test
	public void CuotasPendientes(){
	    FileWriter fichero = null;
	    PrintWriter pw = null;
	    try
	    {
	    	ArrayList<Cuota> _listaCuotas = new ArrayList<Cuota>();
			CuotaAccion cuotaAccion= new CuotaAccion();
			
			_listaCuotas = cuotaAccion.inicializarTablaCuotas();
			int reg=0;
			
			//Creo la variable de la ruta del fichero a consultar	
			String sFichero = "c:/BD/Cuotas Pendientes.txt";
			File ficheroexiste = new File(sFichero);
			
			if(ficheroexiste.exists()){
			ficheroexiste.delete();	
			}
			
				fichero = new FileWriter("c:/BD/Cuotas Pendientes.txt",true); 
				pw = new PrintWriter(fichero);
			
				
				 pw.println("LISTA DE CUOTAS PENDIENTES POR RESIDENTE");
				 pw.println ("");
				 pw.println("  DNI " + "             Residente           " + "       Recibo    " + "   Concepto Pago    " + " F. Venc.  " + " Monto" + "     Imp.Pagado " + "   Adeuda");
				 pw.println("------------------------------------------------------------------------------------------------------------------------------------------------------------");
				for (Cuota cuotaDeLista : _listaCuotas) {
					if (cuotaDeLista.getImportePago() < cuotaDeLista.getImporte()) {	
							 
							  Utilitario objUtil= Utilitario.crearUtilitario();
							  String fechaInicio=cuotaDeLista.getFechaVencimiento();
							  String fechaFin=objUtil.obtenerFechaActual();
							  
							  //Consulto si la fecha actual es inferior al de la fecha de vencimiento
							  if(objUtil.convertirCadenaPorFecha(fechaInicio).compareTo(objUtil.convertirCadenaPorFecha(fechaFin))>0){
								  pw.println(cuotaDeLista.getRecibo().getResidente().getDni() + " // " + cuotaDeLista.getRecibo().getResidente().getApellidoPaterno() + " " + cuotaDeLista.getRecibo().getResidente().getApellidoMaterno() + " " + cuotaDeLista.getRecibo().getResidente().getNombre() + " // " + cuotaDeLista.getRecibo().getCodigo() + " // " + cuotaDeLista.getConceptoPago().getDescripcion() +" // " + cuotaDeLista.getFechaVencimiento() + "  //  " + cuotaDeLista.getImporte() + "   //   " + cuotaDeLista.getImportePago()+ "   //   " + (cuotaDeLista.getImporte() - cuotaDeLista.getImportePago())); 
								  reg++;
							  }					
					}
				}
				if(reg==0){
					pw.println("No existe registros.");
				}

	    } catch (Exception e) {
	        e.printStackTrace();
	    } finally {
	       try {
	       // Nuevamente aprovechamos el finally para 
	       // asegurarnos que se cierra el fichero.
	       if (null != fichero)
	          fichero.close();
	       } catch (Exception e2) {
	          e2.printStackTrace();
	       }
	    }
	}
	
}
